Micron Document
Livres et Wikis | Archives | Info


AngelScript
layout: Wide Β· Narrow Β· Centered
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
AngelScript is an open-source game-oriented compiled scripting language developed by Andreas JΓΆnsson at AngelCode.

AngelScript features static typing, object handles (similar to C++ pointers but garbage collected via reference counting), object-orientation, single inheritance, multiple inheritance with interfaces. It allows operators to be registered and overloaded. AngelScript can be used with any C++ IDE, such as NetBeans, Geany, and Eclipse.

C and C++ functions can be called within an AngelScript environment.cite-ref-1[1]cite-ref-2[2] AngelScript's class syntax closely follows C++ classes by design: no proxy functions are required to embed AngelScript in C++ applications, easing the two languages' integration.cite-ref-3[3] There are several differences of AngelScript and C++:

β€’ AngelScript does not support multiple inheritance. Multiple-inheritance functionality may be achieved with Interfaces.
β€’ It is impossible to declare methods or properties outside of the class body.
β€’ All methods (including constructors and destructors) are virtual.

AngelScript is used in video game development,cite-ref-4[4] including

β€’ Amnesia: The Dark Descent,cite-ref-official-list-5-0[5]
β€’ Amy,cite-ref-official-list-5-1[5]
β€’ Dustforce,cite-ref-official-list-5-2[5]
β€’ Gekkeiju Online,cite-ref-official-list-5-3[5]
β€’ King Arthur's Gold,cite-ref-official-list-5-4[5]
β€’ Legend of the Guardians: The Owls of Ga'Hoole,cite-ref-official-list-5-5[5]
β€’ Overgrowth,cite-ref-6[6]
β€’ Penumbra: Overture,cite-ref-official-list-5-6[5]
β€’ Penumbra: Requiem,cite-ref-official-list-5-7[5]
β€’ Puddle,cite-ref-official-list-5-8[5]
β€’ Rigs of Rods,cite-ref-official-list-5-9[5]
β€’ Sine Mora,cite-ref-official-list-5-10[5]
β€’ Star Ruler,cite-ref-official-list-5-11[5]
β€’ SuperTuxKart,cite-ref-official-list-5-12[5]
β€’ Warhammer: Mark of Chaos,cite-ref-official-list-5-13[5]
β€’ Warsow,cite-ref-official-list-5-14[5]
β€’ Sven Co-opcite-ref-official-list-5-15[5]
β€’ and Jazz Jackrabbit 2 Plus,cite-ref-official-list-5-16[5]

In addition, it is also supported as a scripting language in Urho3D. Hazelight Studios maintains a plugin that integrates AngelScript into the Unreal Engine; this plugin was used to write their game, It Takes Two, in AngelScript,cite-ref-7[7] the plugin is also used by Embark Studios in The Finals and the upcoming ARC Raiders.cite-ref-8[8] It is also used at the University of Ulm in its interactive 3D-Animation program,cite-ref-9[9] as well as in robotics; for example, to program behavioral rules of robotic agents.cite-ref-brandoffsayama2009-10-0[10]

Contents

β€’ References

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

References

cite-note-11. ↑ citerefweinbubruppselberherr2010Weinbub, Josef; Rupp, Karl; Selberherr, Siegfried (2010). "ViennaIPD - An Input Control Language for Scientific Computing" (PDF). Retrieved April 27, 2019.
cite-note-22. ↑ citerefgolodetz2010Golodetz, Stuart (February 2010). "Simplifying the C++/Angelscript Binding Process". ACCU. Retrieved April 27, 2019.
cite-note-33. ↑ citerefdickheiser2006Dickheiser, Michael (2006). Game Programming Gems 6. Charles River Media. ISBN 1584504501.
cite-note-44. ↑ citerefnishimorikuno2012Nishimori, Taketoshi; Kuno, Yasushi (May 2012). "Join token: A language mechanism for programming interactive games". Entertainment Computing. 3 (2): 19–25. doi:10.1016/j.entcom.2011.09.001. hdl:2241/00124828.
cite-note-official-list-55. ↑ "Applications using AngelScript". AngelCode. Retrieved April 27, 2019.
cite-note-66. ↑ citereforsv-rnriehlrosen2014OrsvΓ€rn, Lukas; Riehl, Anton; Rosen, David (November 30, 2014). A good episode. YouTube. Overgrowth Weekly. Vol. 86. at 17m 40s. Retrieved April 27, 2019.
cite-note-77. ↑ "Hazelight/UnrealEngine-Angelscript on GitHub". GitHub. Retrieved September 15, 2021.
cite-note-88. ↑ "Senior Gameplay Programmer - Games". Embark Studios. Retrieved 2023-11-23.
cite-note-99. ↑ "Animal Race". University of Ulm (in German). 2005. Archived from the original on 2014-05-25. Retrieved 2013-05-31.
cite-note-brandoffsayama2009-1010. ↑ citerefbrandoffsayama2009Brandoff, Josh; Sayama, Hiroki (2009). "Cultural transmission in robotic swarms through RFID cards". 2009 IEEE Symposium on Artificial Life. ALife'09. IEEE. pp. 171–178. doi:10.1109/ALIFE.2009.4937709. ISBN 978-1-4244-2763-5.

External links

β€’ Official website
β€’ AngelScript-JIT-Compiler on GitHub